home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 May
/
EnigmA AMIGA RUN 07 (1996)(G.R. Edizioni)(IT)[!][issue 1996-05][EARSAN CD VI].iso
/
progs
/
utilsys
/
mcp
/
docs
/
patchcontrol_eng.doc
< prev
next >
Wrap
Text File
|
1995-07-22
|
3KB
|
96 lines
____ _____
o______ / _ /__ ____________\ _|______ ________ ____________ o
:\___ \ //___)\ __/ _ \ _ \_ __// __/___)\ __/_ _ \:
::/ \ \ / _\ \ _)_ \ \ \ | _)_\____ \ \/ \ _\ \ \
:/ _\ \ // \\ / \/ / \ | / \ _/ // \\ _\ // / /
/_________\ /____\_____\ //:\____|_______\____/____\____/_/ //:
o--/_______/---- - --/___/--- ----- -- - --- ---- -- ----/___/-o
PRESENTS
PatchControl V1.3
(C) Copyright 1994-1995 by ALiENDESiGN
Introduction:
------------
Do you know the problem: a program cannot be removed, because it can't remove
there patches (such as MCP when you save the prefs). This program will solve
all problems with systempatches. All programs can remove there patches at
every time. It's fully compatible to the Setman program.
Difference between Setman and PatchControl:
------------------------------------------
Without Setman or PatchControl only the last program that patches a vector
can remove itself. All programs (like MCP) that support Setman can always be
removed. But there are programs (like Snoopy or Enforcer) that doesn't support
Setman can not be removed. This means that programs without a Setman-support
can never be removed. PatchControl will solve this problem.
Installation:
------------
Start it right after Setpatch in your startup-sequence.
For example:
C:SetPatch QUIET
C:PatchControl
.... all other calls follow here
Usage:
------
In the commandline you can select tasknames after PatchControl. These tasks
will include there patches before all other programs. It's very useful for
ARQ or similar programs. Example for ARQ:
C:PatchControl ARQ
The tasknames are noncasesensitive and wildcards are supported.
For programmers:
--------------
It's very easy to use. Make Findport() "SetMan". If the "SetMan" port exists,
remove the patches (with SetFunction()) without checking. PatchControl will
do the rest.
Developers: (Viruskiller coders)
----------
You can get a list of all patches with the following code:
Make Findport ("SetMan") and read out the MP_SIGTASK APTR (in old SetMan
this will be zero). In the SIGTASK (named PatchControl) read out the
TC_USERDATA. This is a pointer to a patchlist.
Patchlist:
APTR LibraryBase
ULONG Offset
APTR PatchNode ;First Node
APTR LibraryBase
ULONG Offset
APTR PatchNode
. ;Here will follow a number of this structures.
. ;With a zero in APTR Library the list ends.
.
PatchNode:
APTR Next_Node ;Offset 00
APTR Previous_Node ;Offset 04
JMP Next_Program ;Offset 08 address of the next program
APTR Program ;Offset 14 the program from this node
APTR TaskName ;Offset 18 the taskname of this program
LABEL PatchNode_SizeOf
Author:
------
Stefan "zerocom" Sommerfeld
Kaulbachstr. 3
14612 Falkensee
Germany
Phone: +49-[0]3322-202452
EMail: zerocom@cs.tu-berlin.de
or call our support BBS: eViL moOn! +49-[0]3322-208768 ( 2400-33600 )